01. Overview

Training and evaluating deep neural networks is a computationally intensive task. For modestly sized problems and datasets it may be possible to train your network on the CPU in your local machine, but it could take anywhere from 15 minutes to several hours depending on the number of epochs, the size of the neural networks, and other factors. A faster alternative is to train on a GPU (Graphics Processing Unit), which is a type of processor that supports greater parallelism.

One option is to build your own system using an NVIDIA GPU, but we don't recommend it. Building a system for deep learning requires more than just plugging in a new GPU, and there is additional complexity in obtaining the correct version of CUDNN and other libraries & making sure they're installed properly -- all of which distracts from learning about applications of Deep Learning in Artificial Intelligence.

As an alternative, we suggest you use an Amazon EC2 instance. There are many cloud service providers that offer equivalent functionality, but EC2 is a reasonable default that is available to most students. In the next few sections, we'll go over the steps from nothing to running a neural network on an Amazon server.

You can skip this section if you are planning to use your own GPU or CPU (or otherwise not planning to use Amazon EC2).

Note: Not all Nanodegree programs include AWS credits. Credits will be available under resources for programs that provide them.